package com.hrg.rds.biz.waybill.domain.instance;

import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import com.hrg.rds.biz.traffic.NavVo;
import com.hrg.rds.biz.waybill.domain.template.TemplateParam;
import com.hrg.rds.biz.waybill.domain.template.WaybillTemplateVo;
import com.hrg.rds.biz.waybill.domain.template.cmd.CmdParam;
import lombok.Data;

@Data
public class WaybillInstanceVo {
    private String id;
    // 运单模板id
    private String waybillTemplateId;

    private WaybillTemplateVo waybillTemplateVo;
    // 外部id
    private String externalId;
    // 选择的AGV
    private String agvId;
    // 选择的AGV分组
    private String agvGroupId;
    // 优先级
    private Integer giveWayPriority;// give_way_priority
    // 状态
    private volatile WaybillInstanceStatus waybillInstanceStatus;
    // 开始执行时间
    private Date startTime;
    // 结束执行时间
    private Date endTime;
    // 输入参数
    private List<TemplateParam> inputParams;
    // 输出参数
    private List<TemplateParam> outputParams;

    private Map<String, CmdParam> executorOutputParams = new HashMap<>();

    private CmdInstanceVo rootCmdInstanceVo;

    // 运单站点顺序集合
    private List<NavVo> navVos;
}
